package com.bean;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

import com.hibernate.*;
import com.batch.*;
public class FactureBean {

	private Facture facture = new Facture();
	private boolean show=false;
	private String mois="1";
	private String annee="11";
	// getter et setter
	public Facture getFacture() {
		return facture;
	}

	public void setFacture(Facture facture) {
		this.facture = facture;
	}


	// methode enregistrement facture dans la base


	public String getMois() {
		return mois;
	}

	public void setMois(String mois) {
		this.mois = mois;
	}

	public String getAnnee() {
		return annee;
	}

	public void setAnnee(String annee) {
		this.annee = annee;
	}

	public String enregistrer()
	{

		FactureDAO dao =new FactureDAO();
		dao.getSession().getTransaction().begin();
		VadBean vad = new VadBean();// recupere le somme total des achats
		facture.setMontantfacture(Double.parseDouble(vad.getTotal()));
		dao.save(facture);
		dao.getSession().getTransaction().commit();
		return "bon";
	}
	// methode enregistrement information de paiment
	public  String paiement()
	{
			
		enregistrer();
	
		// controle de la carte 
		ControlesVAD cltVAD = new ControlesVAD();
		int i = cltVAD.acuisitionOperation(String.valueOf(facture.getNumerocartefacture()));
		
		if(i == 0)
		{
			// recuperation num de carte

			VadBean vad = new VadBean();// recupere le somme total des achats
			
			
			ControlesVAD clt = new ControlesVAD();
			
			System.out.println("op" +clt.getOp().getCarte().getNumerocarte());
			CarteDAO dao = new CarteDAO();
			dao.getSession().getTransaction().begin();
			Carte carte = dao.findById(clt.getOp().getCarte().getNumerocarte());
			short var =0;
			boolean suffisant = clt.suffisant(carte,Double.parseDouble(vad.getTotal()), var); // voir si le solde est suffisant pour les achats
			System.out.println("suff " + suffisant);
			show=true;
		}
		else
		{
			FacesContext facesContext = FacesContext.getCurrentInstance();
			FacesMessage facesMessage = null;
			facesMessage = new FacesMessage(FacesMessage.SEVERITY_ERROR, "transaction non valide", "");
			facesContext.addMessage("bonAchat", facesMessage);

		}
		return "ok";
	}

}
